Tuples¶

🎨 float¶

In [17]:
number = 3.1415
In [18]:
type(number)
Out[18]:
float
In [23]:
float('3.5')
Out[23]:
10.5
In [25]:
float('3.1415') * 2
Out[25]:
6.283

🎨 round¶

In [26]:
round(3.14159, 2)
Out[26]:
3.14
In [27]:
round(3.14159, 4)
Out[27]:
3.1416
In [28]:
apples = 7
people = 3
per_person = apples / people
print(f'Each person gets { per_person } apples')
Each person gets 2.3333333333333335 apples
🤨
In [31]:
apples = 7
people = 3
per_person = round(apples / people, 1)
print(f'Each person gets { per_person } apples')
Each person gets 2.3 apples

🎨 None¶

What is the value of a variable that doesn't have a value?

What does a function return when it doesn't return anything?

In [40]:
def no_return():
    print('This function doesn\'t return anything.')
    

value = no_return()

print(value)
This function doesn't return anything.
None
In [41]:
type(value)
Out[41]:
NoneType

None is what Python uses to communicate nothing.

It's what you use to indicate that you don't have any information.

In [42]:
thing = 8
thing is None
Out[42]:
False
In [43]:
thing = None
thing is None
Out[43]:
True

To determine whether a variable is None, use the is None expression.

In [44]:
thing = 9
thing is not None
Out[44]:
True

To determine whether a variable is not None, use the is not None expression.

🎨 tuple¶

In [45]:
info = ('Gordon', 'Bean', 39)
In [46]:
info
Out[46]:
('Gordon', 'Bean', 39)

A tuple is a collection of data, like a list.

A list stores a sequence of data that has the same role or quality.

  • e.g. Everyone's first name
    ['John', 'Mary', 'Susan', 'David']
    

A tuple stores distinct pieces of information that belong together as a larger unit.

  • e.g. The first name, last name, and age of a single person
    ('John', 'Doe', 21)
    
In [47]:
info
Out[47]:
('Gordon', 'Bean', 39)
In [48]:
first, last, age = info

print(f'{last}, {first} ({age})')
Bean, Gordon (39)
In [50]:
type(info)
Out[50]:
tuple

We access the pieces of a tuple using unpacking.

The first item in the tuple is assigned to the first variable, the second item to the second variable, etc.

🖌 Multiple Return¶

In [51]:
def get_number_pair():
    first = int(input('First number: '))
    second = int(input('Second number: '))
    return first, second
In [52]:
print('First pair')
a, b = get_number_pair()

print('Second pair')
x, y = get_number_pair()

if a + b > x + y:
    print('The first pair is bigger')
else:
    print('The second pair is bigger (or they are equal)')
First pair
First number: 7
Second number: 2
Second pair
First number: 1
Second number: 5
The first pair is bigger

🖌 list of tuple¶

In [53]:
students = [
    # First name, last name, Hometown
    ('Sally', 'Hernandez', 'Nantucket'),
    ('Shawn', 'Wu', 'Provo'),
    ('Seth', 'de Souza', 'Carlsbad'),
    ('Sarah', 'Ulbrecht', 'Buffalo')
]
In [54]:
for first, last, home in students:
    print(f'{first} {last} is from {home}')
Sally Hernandez is from Nantucket
Shawn Wu is from Provo
Seth de Souza is from Carlsbad
Sarah Ulbrecht is from Buffalo
In [59]:
for student in students:
    first, last, home = student
    print(f'{first} {last} is from {home}')
Sally Hernandez is from Nantucket
Shawn Wu is from Provo
Seth de Souza is from Carlsbad
Sarah Ulbrecht is from Buffalo
In [56]:
for first, last, home in students:
    print(f'{first} {last} is from {home}')
Sally Hernandez is from Nantucket
Shawn Wu is from Provo
Seth de Souza is from Carlsbad
Sarah Ulbrecht is from Buffalo

registration.py¶

  • get_participant
    • Returns None to communicate "no person"
    • Returns a tuple of (first, last, age)
  • register_participants
    • If the participant is None, we're done adding participants
    • Delegates the logic of what information is required to get_participant
  • print_participants
    • Uses unpacking to get the first name, last name, and age of each participant (one at a time)

👩🏻‍🎨 meal_planner.py¶

Write a program that builds up a meal plan for several days.

An individual meal needs a grain, vegetable, and fruit.

Allow the user to plan out as many meals as they want.

Then print out the planned meals.

Plan a meal
Grain: rice
Vegetable: broccoli
Fruit: strawberry
Plan a meal
Grain: pasta
Vegetable: peas
Fruit: cranberry
Plan a meal
Grain: bread
Vegetable: carrots
Fruit: apples
Plan a meal
Grain: 

You planned 3 meals: Grain: rice, Veggie: broccoli, Fruit: strawberry Grain: pasta, Veggie: peas, Fruit: cranberry Grain: bread, Veggie: carrots, Fruit: apples

Key Ideas¶

  • None
  • tuple
  • Tuple unpacking
  • Multiple return
  • Lists of tuples